package fr.bludwarf.skywarrior.joueur;

import fr.bludwarf.skywarrior.ile.StatsCombat;

/**
 * Unité comme l'Apicopter ou l'Atlas par exemple
 * @since 15 nov. 2011
 */
public abstract class TypeUnite {
	
	/** Nom de l'unité */
	private final String _nom;
	
	/** Durée de construction de base de l'unité (en secondes) */
	private final int _duree;
	
	/** Compétence pour le combat de l'unité */
	private final StatsCombat _combat;
	
	/** Coût de l'unité (matériaux, éther et population consommés) */
	private Ressources _cout;
	
	/** Population nécessaire */
	private int _pop;

	public TypeUnite(String nom, int duree, StatsCombat combat, Ressources cout, final int pop) {
		_nom = nom;
		_duree = duree;
		_combat = combat;
		_cout = cout;
		_pop = pop;
	}

	/**
	 * @return Durée de construction de base de l'unité (en secondes)
	 */
	public int getDuree() {
		return _duree;
	}

	/**
	 * @return le coût de construction de cette unité
	 */
	public Ressources getCout() {
		return _cout;
	}

	/**
	 * @return Population nécessaire
	 */
	public int pop() {
		return _pop;
	}

	/**
	 * @return Compétence pour le combat de l'unité
	 */
	public StatsCombat getStatsCombat() {
		return _combat;
	}
	
	@Override
	public String toString() {
		return _nom;
	}

}
